/*
    CPP-AES-128
    Code covered by the MIT License

    Author: mutouyun (http://orzz.org)
*/

#pragma once

#include <string>
#include <vector>


typedef void* key_t1;

key_t1 gen_key(char const * key_str);
key_t1 gen_key(std::string const & key_str);

void delete_key(key_t1 key);

std::vector<char> encrypt(key_t1 key, char const * data, size_t size);
std::vector<char> decrypt(key_t1 key, char const * data, size_t size);
int decfile(std::string enc_filename,std::string dec_filename);
int encfile(std::string source_filename,std::string target_enc_filename);
